package Negocio;

import java.util.Date;

import DTO.DTO_CompraVenta;
import DTO.DTO_ElaboracionVenta;
import DTO.DTO_ProductoVenta;
import DTO.DTO_RecetaCombo;
import DTO.DTO_RecetaSimple;
import Entities.Entity_ElaboracionVenta;
import Entities.Entity_ProductoVenta;
import Entities.Entity_RecetaCombo;
import Entities.Entity_RecetaSimple;

public class ElaboracionVenta extends ProductoVenta {

	private Receta receta;

	//Constructores
	public ElaboracionVenta(String n, String c, Date fV,
			float evorcentajeComision, Area areaevroduccion, Receta receta) {
		super(n, c, fV, evorcentajeComision, areaevroduccion);
		this.receta = receta;
	}

	public ElaboracionVenta() {
		// TODO Auto-generated constructor stub
	}

	public ElaboracionVenta(DTO_ElaboracionVenta ev) {
		super(ev);
		if(ev.getReceta() instanceof DTO_RecetaCombo)
			this.receta = new RecetaCombo((DTO_RecetaCombo) ev.getReceta());
		else
			this.receta = new RecetaSimple((DTO_RecetaSimple) ev.getReceta());
		// TODO Auto-generated constructor stub
	}
	
	public ElaboracionVenta(Entity_ElaboracionVenta ev) {
		super(ev);
		if(ev.getReceta() instanceof Entity_RecetaCombo)
			this.receta = new RecetaCombo((Entity_RecetaCombo) ev.getReceta());
		else
			this.receta = new RecetaSimple((Entity_RecetaSimple) ev.getReceta());
		// TODO Auto-generated constructor stub
	}
	
	//GET & SET
	public Receta getReceta() {
		return receta;
	}

	public void setReceta(Receta receta) {
		this.receta = receta;
	}

	@Override
	public DTO_ElaboracionVenta toDTO() {
		DTO_ElaboracionVenta dto_ElaboracionVenta = new DTO_ElaboracionVenta();
		dto_ElaboracionVenta.setAreaProduccion(this.areaProduccion.toDTO());
		dto_ElaboracionVenta.setCaducidad(this.caducidad);
		dto_ElaboracionVenta.setFechaVen(this.fechaVen);
		dto_ElaboracionVenta.setNombre(this.nombre);
		dto_ElaboracionVenta.setPorcentajeComision(this.porcentajeComision);
		dto_ElaboracionVenta.setReceta(this.receta.toDTO());
		return dto_ElaboracionVenta;
	}

	@Override
	public Entity_ElaboracionVenta toEntity() {
		Entity_ElaboracionVenta entity_ElaboracionVenta = new Entity_ElaboracionVenta();
		entity_ElaboracionVenta.setAreaProduccion(this.areaProduccion.toEntity());
		entity_ElaboracionVenta.setCaducidad(this.caducidad);
		entity_ElaboracionVenta.setFechaVen(this.fechaVen);
		entity_ElaboracionVenta.setNombre(this.nombre);
		entity_ElaboracionVenta.setPorcentajeComision(this.porcentajeComision);
		entity_ElaboracionVenta.setReceta(this.receta.toEntity());
		return entity_ElaboracionVenta;
	}
}
